When a back-end specification change is made to an evolving protocol in a multi-media environment, it means that the server code that implements the application programming interface (API) has to be changed to offer any new functions made available in the back-end. However, trying to anticipate the functions and usage of the API by a client application is impossible when the protocol is changing constantly. A new release would have to be provided on a frequent basis in order for a client to take advantage of the new functions, or else the client would be unable to take advantage of the new functions. As such, there is a need to provide a cost-effective and efficient way to make changes to an API when the back-end specification changes, without having to issue new and comprehensive releases too frequently and to enable clients to take advantage of any new functions that have been added. Also, there is a need to provide a mechanism for overcoming any incompatibility issues with another vendor's equipment that interprets an evolving protocol.